package com.mall.module.system.mapper;

import com.mall.module.system.domain.entity.SysConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 系统配置数据访问层
 */
@Mapper
public interface SysConfigMapper {
    
    /**
     * 查询配置列表
     * 
     * @param configKey 配置键
     * @param configName 配置名称
     * @return 配置列表
     */
    List<SysConfig> selectConfigList(@Param("configKey") String configKey, @Param("configName") String configName);
    
    /**
     * 根据配置键查询配置
     * 
     * @param configKey 配置键
     * @return 配置信息
     */
    SysConfig selectConfigByKey(String configKey);
    
    /**
     * 根据配置ID查询配置
     * 
     * @param id 配置ID
     * @return 配置信息
     */
    SysConfig selectConfigById(Long id);
    
    /**
     * 新增配置
     * 
     * @param config 配置信息
     * @return 影响行数
     */
    int insertConfig(SysConfig config);
    
    /**
     * 修改配置
     * 
     * @param config 配置信息
     * @return 影响行数
     */
    int updateConfig(SysConfig config);
    
    /**
     * 删除配置
     * 
     * @param id 配置ID
     * @return 影响行数
     */
    int deleteConfigById(Long id);
    
    /**
     * 批量删除配置
     * 
     * @param ids 配置ID数组
     * @return 影响行数
     */
    int deleteConfigByIds(List<Long> ids);
} 